//
//  SISSExcelView.h
//  SISSAPP
//
//  Created by 袁应荣 on 2018/8/6.
//  Copyright © 2018年 优房网. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "SISSExcelContentTableView.h"
#import "SISSExcelLeftTableView.h"

#define Excel_leftTableViewContentOffset @"leftTableViewContentOffset"
#define Excel_contentTableViewContentOffset @"contentTableViewContentOffset"
#define Excel_topCollectionViewContentOffset @"topCollectionViewContentOffset"
#define Excel_collectionViewContentOffset @"collectionViewContentOffset"
#define Excel_seletedPath @"seletedPath"

@protocol SISSExcelViewDataSource;
@protocol SISSExcelViewDelegate;
@interface SISSExcelView : UIView
/// 暴露出来是为了  上下拉刷新问题
@property (weak, nonatomic) SISSExcelContentTableView *contentTableView;
//序号 的宽度
@property (nonatomic, assign) CGFloat leftWidth;
//列的高度
@property (nonatomic, assign) CGFloat topHeight;
@property (nonatomic, assign) CGFloat contentWidth;
@property (nonatomic, assign) CGFloat contentHeight;

/// dataSource
@property (weak, nonatomic) id<SISSExcelViewDataSource> dataSource;
/// delegate
@property (weak, nonatomic) id<SISSExcelViewDelegate> delegate;

- (void)reloadData;
- (void)reloadLeftTableViewData;
- (void)reloadContentTbaleViewData;

@end
@protocol SISSExcelViewDataSource <NSObject>
//暂时就支持字符串
//LeftTableView 在区 与 行 上面 暂时和 ContentTableView 是相同的 只考虑相同的情况
//暂时默认 0 个区   可以设置多少个区未实现
@required

// 返回  多少 列
- (NSInteger)numberOfColumnInExcelView:(SISSExcelView *)excelView numberOfRowsInSection:(NSInteger)section;

// 每一个区返回多少行
- (NSInteger)contentTableView:(SISSExcelContentTableView *)contentTableView numberOfRowsInSection:(NSInteger)section;

// 返回 区 行 列 的数据
- (NSString *)contentTableView:(SISSExcelContentTableView *)contentTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath withColumn:(NSInteger)column;

@optional
// 高度 区  行
- (CGFloat)heightOfContentTableView:(SISSExcelContentTableView *)contentTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
// 每一列的宽度
- (CGFloat)widthOfContentTableView:(SISSExcelContentTableView *)contentTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

// 左边序号 内容   默认是 1、2、3、、、、
- (NSString *)leftTableView:(SISSExcelLeftTableView *)leftTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

// 多少个区
//- (NSInteger)numberOfSectionsInTableView:(ContentTableView*)contentTableView;

@end

@protocol SISSExcelViewDelegate <NSObject>
@optional

- (void)leftTableView:(SISSExcelLeftTableView *)leftTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)contentTableView:(SISSExcelContentTableView *)contentTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath withColumn:(NSInteger)column;
- (void)contentTableView:(SISSExcelContentTableView *)contentTableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;

@end
